[INFO] fetching crate chronlang-parser 0.1.7...
[INFO] checking chronlang-parser-0.1.7 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate chronlang-parser 0.1.7 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate chronlang-parser 0.1.7 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate chronlang-parser 0.1.7
[INFO] finished tweaking crates.io crate chronlang-parser 0.1.7
[INFO] tweaked toml for crates.io crate chronlang-parser 0.1.7 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chumsky v0.9.3
[INFO] [stderr]   Downloaded ariadne v0.2.0
[INFO] [stderr]   Downloaded stacker v0.1.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2f17a131839c986064289c6391a2cfd07ebe9d203ea8fa69bdc54811610f55c2
[INFO] running `Command { std: "docker" "start" "-a" "2f17a131839c986064289c6391a2cfd07ebe9d203ea8fa69bdc54811610f55c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2f17a131839c986064289c6391a2cfd07ebe9d203ea8fa69bdc54811610f55c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f17a131839c986064289c6391a2cfd07ebe9d203ea8fa69bdc54811610f55c2", kill_on_drop: false }`
[INFO] [stdout] 2f17a131839c986064289c6391a2cfd07ebe9d203ea8fa69bdc54811610f55c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1c545a0e308ed08850df8c1924080410677e51b2f6ae0e52aa57a92822c41a2
[INFO] running `Command { std: "docker" "start" "-a" "b1c545a0e308ed08850df8c1924080410677e51b2f6ae0e52aa57a92822c41a2", kill_on_drop: false }`
[INFO] [stderr]    Compiling psm v0.1.21
[INFO] [stderr]    Compiling stacker v0.1.15
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking ariadne v0.2.0
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking chumsky v0.9.3
[INFO] [stderr]     Checking chronlang-parser v0.1.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/lib.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |       .eprint(SourceCode::from(src.clone()))
[INFO] [stdout]    |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.33s
[INFO] running `Command { std: "docker" "inspect" "b1c545a0e308ed08850df8c1924080410677e51b2f6ae0e52aa57a92822c41a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1c545a0e308ed08850df8c1924080410677e51b2f6ae0e52aa57a92822c41a2", kill_on_drop: false }`
[INFO] [stdout] b1c545a0e308ed08850df8c1924080410677e51b2f6ae0e52aa57a92822c41a2
[INFO] checking chronlang-parser-0.1.7 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate chronlang-parser 0.1.7 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate chronlang-parser 0.1.7 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate chronlang-parser 0.1.7
[INFO] finished tweaking crates.io crate chronlang-parser 0.1.7
[INFO] tweaked toml for crates.io crate chronlang-parser 0.1.7 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2a264e510a5327ad7505c96f53438bc1ec9174d2970519179d99d5f710a28a9
[INFO] running `Command { std: "docker" "start" "-a" "d2a264e510a5327ad7505c96f53438bc1ec9174d2970519179d99d5f710a28a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2a264e510a5327ad7505c96f53438bc1ec9174d2970519179d99d5f710a28a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2a264e510a5327ad7505c96f53438bc1ec9174d2970519179d99d5f710a28a9", kill_on_drop: false }`
[INFO] [stdout] d2a264e510a5327ad7505c96f53438bc1ec9174d2970519179d99d5f710a28a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d317744442c08252458bce1faca1fd7e40370128a5fdf1a90db089ec58620a9
[INFO] running `Command { std: "docker" "start" "-a" "2d317744442c08252458bce1faca1fd7e40370128a5fdf1a90db089ec58620a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling psm v0.1.21
[INFO] [stderr]    Compiling stacker v0.1.15
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking ariadne v0.2.0
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking chumsky v0.9.3
[INFO] [stderr]     Checking chronlang-parser v0.1.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         label: (6..7, "C".into()),
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |         encodes: vec![(17..22, "place".into()), (23..29, "manner".into())],
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:87:50
[INFO] [stdout]    |
[INFO] [stdout] 87 |         encodes: vec![(17..22, "place".into()), (23..29, "manner".into())],
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |           (43..63, PhonemeDef { label: (43..44, "p".into()), traits: vec![(47..55, "bilabial".into()), (56..63, "plosive".into())] }),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:90:41
[INFO] [stdout]    |
[INFO] [stdout] 90 |           (43..63, PhonemeDef { label: (43..44, "p".into()), traits: vec![(47..55, "bilabial".into()), (56..63, "plosive".into())] }),
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:90:76
[INFO] [stdout]    |
[INFO] [stdout] 90 |           (43..63, PhonemeDef { label: (43..44, "p".into()), traits: vec![(47..55, "bilabial".into()), (56..63, "plosive".into())] }),
[INFO] [stdout]    |                                                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:90:105
[INFO] [stdout]    |
[INFO] [stdout] 90 |           (43..63, PhonemeDef { label: (43..44, "p".into()), traits: vec![(47..55, "bilabial".into()), (56..63, "plosive".into())] }),
[INFO] [stdout]    |                                                                                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |           (75..95, PhonemeDef { label: (75..76, "t".into()), traits: vec![(79..87, "alveolar".into()), (88..95, "plosive".into())] }),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:91:41
[INFO] [stdout]    |
[INFO] [stdout] 91 |           (75..95, PhonemeDef { label: (75..76, "t".into()), traits: vec![(79..87, "alveolar".into()), (88..95, "plosive".into())] }),
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:91:76
[INFO] [stdout]    |
[INFO] [stdout] 91 |           (75..95, PhonemeDef { label: (75..76, "t".into()), traits: vec![(79..87, "alveolar".into()), (88..95, "plosive".into())] }),
[INFO] [stdout]    |                                                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:91:105
[INFO] [stdout]    |
[INFO] [stdout] 91 |           (75..95, PhonemeDef { label: (75..76, "t".into()), traits: vec![(79..87, "alveolar".into()), (88..95, "plosive".into())] }),
[INFO] [stdout]    |                                                                                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |           (107..124, PhonemeDef { label: (107..108, "k".into()), traits: vec![(111..116, "velar".into()), (117..124, "plosive".into())] }),
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:92:43
[INFO] [stdout]    |
[INFO] [stdout] 92 |           (107..124, PhonemeDef { label: (107..108, "k".into()), traits: vec![(111..116, "velar".into()), (117..124, "plosive".into())] }),
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:92:80
[INFO] [stdout]    |
[INFO] [stdout] 92 |           (107..124, PhonemeDef { label: (107..108, "k".into()), traits: vec![(111..116, "velar".into()), (117..124, "plosive".into())] }),
[INFO] [stdout]    |                                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:92:108
[INFO] [stdout]    |
[INFO] [stdout] 92 |           (107..124, PhonemeDef { label: (107..108, "k".into()), traits: vec![(111..116, "velar".into()), (117..124, "plosive".into())] }),
[INFO] [stdout]    |                                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | ...   (136..160, PhonemeDef { label: (136..139, "t͡s".into()), traits: vec![(142..150, "alveolar".into()), (151..160, "affricate".into())...)
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:93:43
[INFO] [stdout]    |
[INFO] [stdout] 93 | ...   (136..160, PhonemeDef { label: (136..139, "t͡s".into()), traits: vec![(142..150, "alveolar".into()), (151..160, "affricate".into())...)
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:93:82
[INFO] [stdout]    |
[INFO] [stdout] 93 | ...   (136..160, PhonemeDef { label: (136..139, "t͡s".into()), traits: vec![(142..150, "alveolar".into()), (151..160, "affricate".into())...)
[INFO] [stdout]    |                                                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/class_definition.rs:93:113
[INFO] [stdout]    |
[INFO] [stdout] 93 | ...   (136..160, PhonemeDef { label: (136..139, "t͡s".into()), traits: vec![(142..150, "alveolar".into()), (151..160, "affricate".into())...)
[INFO] [stdout]    |                                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |         label: (7..8, "C".into()),
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:52:18
[INFO] [stdout]    |
[INFO] [stdout] 52 |         series: (11..22, Series::List(vec![
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |           (13..14, "a".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |           (16..17, "b".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |           (19..20, "c".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |         label: (7..8, "F".into()),
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 |         series: (11..24, Series::Category(Category {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |           base_class: Some((12..13, 'C')),
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/series_definition.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 69 |           features: vec![(13..23, Feature::Positive("fricative".into()))]
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |           (14..15, ".".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |           (16..18, "my".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |           (19..28, "phonology".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:57:22
[INFO] [stdout]    |
[INFO] [stdout] 57 |         names: vec![(7..8, "*".into())]
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |           (15..17, "my".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |           (18..27, "phonology".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |         names: vec![(7..8, "*".into())]
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |           (14..19, "@core".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |           (20..23, "ipa".into()),
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/import.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |         names: vec![(7..8, "*".into())]
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |           (19..24, "@core".into()),
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |           (25..28, "ipa".into()),
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         names: vec![(8..9, "C".into()), (11..12, "V".into())]
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:105:42
[INFO] [stdout]     |
[INFO] [stdout] 105 |         names: vec![(8..9, "C".into()), (11..12, "V".into())]
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |           (47..52, "@core".into()),
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |           (53..56, "ipa".into()),
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:124:22
[INFO] [stdout]     |
[INFO] [stdout] 124 |         names: vec![(15..20, "Place".into()), (28..34, "Manner".into())]
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/import.rs:124:48
[INFO] [stdout]     |
[INFO] [stdout] 124 |         names: vec![(15..20, "Place".into()), (28..34, "Manner".into())]
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |       Ok(Stmt::Language { id: (5..7, "PA".to_string()), parent: None, name: None })
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |       Ok(Stmt::Language { id: (5..7, "OA".to_string()), parent: Some((10..12, "PA".to_string())), name: None })
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:53:71
[INFO] [stdout]    |
[INFO] [stdout] 53 |       Ok(Stmt::Language { id: (5..7, "OA".to_string()), parent: Some((10..12, "PA".to_string())), name: None })
[INFO] [stdout]    |                                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |       Ok(Stmt::Language { id: (5..7, "PA".to_string()), parent: None, name: Some((9..16, "Proto-A".to_string())) })
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:62:83
[INFO] [stdout]    |
[INFO] [stdout] 62 |       Ok(Stmt::Language { id: (5..7, "PA".to_string()), parent: None, name: Some((9..16, "Proto-A".to_string())) })
[INFO] [stdout]    |                                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |       Ok(Stmt::Language { id: (5..7, "OA".to_string()), parent: Some((10..12, "PA".to_string())), name: Some((14..19, "Old A".to_string()...
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:71:71
[INFO] [stdout]    |
[INFO] [stdout] 71 |       Ok(Stmt::Language { id: (5..7, "OA".to_string()), parent: Some((10..12, "PA".to_string())), name: Some((14..19, "Old A".to_string()...
[INFO] [stdout]    |                                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/lang_definition.rs:71:111
[INFO] [stdout]    |
[INFO] [stdout] 71 |       Ok(Stmt::Language { id: (5..7, "OA".to_string()), parent: Some((10..12, "PA".to_string())), name: Some((14..19, "Old A".to_string()...
[INFO] [stdout]    |                                                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 126 |           source: (2..3, Source::Pattern(vec![Segment::Phonemes("ɢ".into())])),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:127:20
[INFO] [stdout]     |
[INFO] [stdout] 127 |           target: (6..7, Target::Pattern(vec![Segment::Phonemes("g".into())])),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |           source: (2..3, Source::Pattern(vec![Segment::Phonemes("k".into())])),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:143:20
[INFO] [stdout]     |
[INFO] [stdout] 143 |           target: (6..7, Target::Pattern(vec![Segment::Phonemes("c".into())])),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:144:30
[INFO] [stdout]     |
[INFO] [stdout] 144 |           environment: Some((10..20, Environment {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:148:35
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 base_class: Some((12..13, 'V')),
[INFO] [stdout]     |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 features: vec![(13..19, Feature::Positive("close".to_string()))]
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |           source: (2..3, Source::Pattern(vec![Segment::Phonemes("k".into())])),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |           target: (6..7, Target::Pattern(vec![Segment::Phonemes("c".into())])),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:168:30
[INFO] [stdout]     |
[INFO] [stdout] 168 |           environment: Some((10..13, Environment {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:172:30
[INFO] [stdout]     |
[INFO] [stdout] 172 |           description: Some((16..52, "Word-initial k lenites to c before i".to_string())),
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |             2..19,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:188:33
[INFO] [stdout]     |
[INFO] [stdout] 188 |               base_class: Some((3..4, 'C')),
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 (4..9, Feature::Positive("stop".to_string())),
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 (9..18, Feature::Positive("alveolar".to_string())),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             22..29,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |               (23..28, Feature::Positive("flap".to_string())),
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:215:20
[INFO] [stdout]     |
[INFO] [stdout] 215 |           source: (2..4, Source::Empty),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/sound_change.rs:216:20
[INFO] [stdout]     |
[INFO] [stdout] 216 |           target: (7..9, Target::Empty),
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |           label: (13..18, "Place".into()),
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |             (29..35, TraitMember { labels: vec![(29..35, "labial".into())], notation: None, default: false }),
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |             (29..35, TraitMember { labels: vec![(29..35, "labial".into())], notation: None, default: false }),
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 |             (45..53, TraitMember { labels: vec![(45..53, "alveolar".into())], notation: None, default: false }),
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:76:50
[INFO] [stdout]    |
[INFO] [stdout] 76 |             (45..53, TraitMember { labels: vec![(45..53, "alveolar".into())], notation: None, default: false }),
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |             (63..68, TraitMember { labels: vec![(63..68, "velar".into())], notation: None, default: false }),
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:77:50
[INFO] [stdout]    |
[INFO] [stdout] 77 |             (63..68, TraitMember { labels: vec![(63..68, "velar".into())], notation: None, default: false }),
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:96:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |           label: (13..19, "Stress".into()),
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |             (30..42, TraitMember { labels: vec![(30..37, "primary".into())], notation: Some((40..42, "ˈ_".into())), default: false }),
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:98:50
[INFO] [stdout]    |
[INFO] [stdout] 98 |             (30..42, TraitMember { labels: vec![(30..37, "primary".into())], notation: Some((40..42, "ˈ_".into())), default: false }),
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:98:94
[INFO] [stdout]    |
[INFO] [stdout] 98 |             (30..42, TraitMember { labels: vec![(30..37, "primary".into())], notation: Some((40..42, "ˈ_".into())), default: false }),
[INFO] [stdout]    |                                                                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:99:14
[INFO] [stdout]    |
[INFO] [stdout] 99 |             (52..66, TraitMember { labels: vec![(52..61, "secondary".into())], notation: Some((64..66, "ˌ_".into())), default: false }),
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:99:50
[INFO] [stdout]    |
[INFO] [stdout] 99 |             (52..66, TraitMember { labels: vec![(52..61, "secondary".into())], notation: Some((64..66, "ˌ_".into())), default: false }),
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/trait_definition.rs:99:96
[INFO] [stdout]    |
[INFO] [stdout] 99 |             (52..66, TraitMember { labels: vec![(52..61, "secondary".into())], notation: Some((64..66, "ˌ_".into())), default: false }),
[INFO] [stdout]    |                                                                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:119:19
[INFO] [stdout]     |
[INFO] [stdout] 119 |           label: (13..19, "Length".into()),
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |             (30..43, TraitMember { labels: vec![(38..43, "short".into())], notation: None, default: true }),
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:121:50
[INFO] [stdout]     |
[INFO] [stdout] 121 |             (30..43, TraitMember { labels: vec![(38..43, "short".into())], notation: None, default: true }),
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:122:14
[INFO] [stdout]     |
[INFO] [stdout] 122 |             (53..62, TraitMember { labels: vec![(53..57, "long".into())], notation: Some((60..62, "_:".into())), default: false }),
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:122:50
[INFO] [stdout]     |
[INFO] [stdout] 122 |             (53..62, TraitMember { labels: vec![(53..57, "long".into())], notation: Some((60..62, "_:".into())), default: false }),
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:122:91
[INFO] [stdout]     |
[INFO] [stdout] 122 |             (53..62, TraitMember { labels: vec![(53..57, "long".into())], notation: Some((60..62, "_:".into())), default: false }),
[INFO] [stdout]     |                                                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 123 |             (72..86, TraitMember { labels: vec![(72..80, "overlong".into())], notation: Some((83..86, "_::".into())), default: false }),
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:123:50
[INFO] [stdout]     |
[INFO] [stdout] 123 |             (72..86, TraitMember { labels: vec![(72..80, "overlong".into())], notation: Some((83..86, "_::".into())), default: false }),
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/trait_definition.rs:123:95
[INFO] [stdout]     |
[INFO] [stdout] 123 |             (72..86, TraitMember { labels: vec![(72..80, "overlong".into())], notation: Some((83..86, "_::".into())), default: false }),
[INFO] [stdout]     |                                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |           gloss: (2..7, "water".to_string()),
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:68:27
[INFO] [stdout]    |
[INFO] [stdout] 68 |           pronunciation: (8..17, vec!["'wa".to_string(), "ter".to_string()]),
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |               pos: Some((18..22, "noun".to_string())),
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 |               definition: (24..47, "the liquid state of H20".to_string()),
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |           gloss: (9..14, "water".to_string()),
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:92:27
[INFO] [stdout]    |
[INFO] [stdout] 92 |           pronunciation: (15..24, vec!["'wa".to_string(), "ter".to_string()]),
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:95:26
[INFO] [stdout]    |
[INFO] [stdout] 95 |               pos: Some((35..39, "noun".to_string())),
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/word_definition.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |               definition: (41..64, "the liquid state of H20".to_string()),
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/word_definition.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |           gloss: (9..14, "water".to_string()),
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/word_definition.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |           pronunciation: (15..24, vec!["'wa".to_string(), "ter".to_string()]),
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/word_definition.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |               pos: Some((35..39, "noun".to_string())),
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/word_definition.rs:121:28
[INFO] [stdout]     |
[INFO] [stdout] 121 |               definition: (41..64, "the liquid state of H20".to_string()),
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/word_definition.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |               pos: Some((73..77, "verb".to_string())),
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/word_definition.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |               definition: (79..121, "to pour water over a plant or area of land".to_string()),
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/milestone.rs:68:23
[INFO] [stdout]    |
[INFO] [stdout] 68 |           time: Some((2..4, Time::Instant(42))),
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/milestone.rs:83:23
[INFO] [stdout]    |
[INFO] [stdout] 83 |           time: Some((2..7, Time::Range(0, 100))),
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/milestone.rs:98:23
[INFO] [stdout]    |
[INFO] [stdout] 98 |           time: Some((2..4, Time::Instant(42))),
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser/milestone.rs:99:27
[INFO] [stdout]    |
[INFO] [stdout] 99 |           language: Some((6..14, "TokiPona".into())),
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser/milestone.rs:114:27
[INFO] [stdout]     |
[INFO] [stdout] 114 |           language: Some((2..10, "TokiPona".into())),
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public type alias
[INFO] [stdout]  --> src/ast.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Span = Range<usize>;
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chronlang-parser` (lib) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/lib.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |       .eprint(SourceCode::from(src.clone()))
[INFO] [stdout]    |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 116 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2d317744442c08252458bce1faca1fd7e40370128a5fdf1a90db089ec58620a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d317744442c08252458bce1faca1fd7e40370128a5fdf1a90db089ec58620a9", kill_on_drop: false }`
[INFO] [stdout] 2d317744442c08252458bce1faca1fd7e40370128a5fdf1a90db089ec58620a9
